Cell broadcast for smart traffic steering across radio technologies with improved radio efficiency

ABSTRACT

Traffic associated with user equipment that are coupled to a first radio access network is steered to a second radio access network based on an adaptable signal strength criterion. The signal strength criterion is related to real-time network load conditions of the first radio access network and can be broadcasted from a serving access point to the user equipment. Moreover, the signal strength criterion facilitates steering, to the second radio network, traffic associated with user equipment that are located closer to a cell edge of the first radio access network before steering traffic associated with user equipment are located further away from the cell edge. In addition, based on the network congestion within the first radio access network, the signal strength criterion is modified to adjust the number of user equipment that are steered to the second radio network.

TECHNICAL FIELD

The subject disclosure relates to wireless communications, e.g., to cell broadcast for traffic steering across radio technologies with increased radio efficiency.

BACKGROUND

With an explosive growth in utilization of communication devices, mobile telecommunications carriers are seeing an exponential increase in network traffic. To meet the demands of higher traffic, conventional systems employ traffic steering mechanisms that offload mobile traffic from a cellular network to an overlapping WiFi network. By using WiFi networks, for example, in indoor locations, mobile telecommunications carriers can deliver a superior customer experience and cost effectively boost network performance for the end user. However, the decision to steer a mobile device from the cellular network to the WiFi network (or vice versa) is based on WiFi availability. This could lead to undesired network utilization across various radio access technologies and/or negatively affect user experience.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example system that facilitates network selection based on an adaptable signal strength criterion.

FIG. 2 illustrates an example system for determining an adaptable signal strength criterion that improves radio efficiency during traffic steering.

FIG. 3 illustrates an example system comprising a user equipment that facilitates efficient network selection.

FIGS. 4A and 4B illustrate example systems that facilitate traffic steering based on an adaptive signal strength criterion.

FIG. 5 illustrates an example system that facilitates query-based network selection.

FIG. 6 illustrates an example system that facilitates network selection based on stored signal strength criteria.

FIG. 7 illustrates an example system that offloads a portion of user equipment from a first radio access network (RAN) to a second RAN based on random number generation.

FIG. 8 illustrates an example system that facilitates automating one or more features in accordance with the subject embodiments.

FIG. 9 illustrates an example method that facilitates a transmission of a signal strength criterion that is to be employed for efficient traffic steering.

FIG. 10 illustrates an example method that facilitates network selection to efficiently steer a user equipment from a first RAN to a second RAN.

FIG. 11 illustrates an example method for determining whether a user equipment is to be steered from a first RAN to a second RAN.

FIG. 12 illustrates an example method that facilitates query-based network selection.

FIG. 13 illustrates an example block diagram of a user equipment suitable for network selection based on an adaptable signal strength criterion.

FIG. 14 illustrates an example block diagram of an access point suitable for traffic steering based on an adaptable signal strength criterion.

FIG. 15 illustrates an example wireless communication environment for network selection based on an adaptable signal strength criterion.

FIG. 16 illustrates a block diagram of a computer operable to execute the disclosed communication architecture.

DETAILED DESCRIPTION

One or more embodiments are now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments. It may be evident, however, that the various embodiments can be practiced without these specific details, e.g., without applying to any particular networked environment or standard. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the embodiments in additional detail. As used in this application, the terms “component,” “module,” “system,” “interface,” “node,” “platform,” or the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution or an entity related to an operational machine with one or more specific functionalities. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, computer-executable instruction(s), a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. As another example, an interface can include input/output (I/O) components as well as associated processor, application, and/or API components.

Further, the various embodiments can be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement one or more aspects of the disclosed subject matter. An article of manufacture can encompass a computer program accessible from any computer-readable device or computer-readable storage/communications media. For example, computer readable storage media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ). Of course, those skilled in the art will recognize many modifications can be made to this configuration without departing from the scope or spirit of the various embodiments.

In addition, the word “example” or “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.

Moreover, terms like “user equipment,” “communication device,” “mobile device,” “mobile terminal,” and similar terminology, refer to a wired or wireless device utilized by a subscriber or user of a wired or wireless communication service to receive or convey data, control, voice, video, sound, gaming, or substantially any data-stream or signaling-stream. The foregoing terms are utilized interchangeably in the subject specification and related drawings. Data and signaling streams can be packetized or frame-based flows. Aspects or features of the disclosed subject matter can be exploited in substantially any wired or wireless communication technology; e.g., Universal Mobile Telecommunications System (UMTS), WiFi, Worldwide Interoperability for Microwave Access (WiMAX), General Packet Radio Service (GPRS), Enhanced GPRS, Third Generation Partnership Project (3GPP) Long Term Evolution (LTE), Third Generation Partnership Project 2 (3GPP2) Ultra Mobile Broadband (UMB), High Speed Packet Access (HSPA), Zigbee, or another IEEE 802.XX technology. Additionally, substantially all aspects of the disclosed subject matter can be exploited in legacy (e.g., wireline) telecommunication technologies.

Furthermore, the terms “user,” “subscriber,” “consumer,” and the like are employed interchangeably throughout the subject specification, unless context warrants particular distinction(s) among the terms. It should be appreciated that such terms can refer to human entities or automated components supported through artificial intelligence (e.g., a capacity to make inference based on complex mathematical formalisms), which can provide simulated vision, sound recognition and so forth.

Conventional traffic steering mechanisms utilized to offload mobile traffic from a cellular network to a WiFi network are typically based on Wi-Fi availability. For example, when a WiFi network is detected, a mobile terminal can switch from the cellular network to the WiFi network. Thus, the steering decision is network load condition blind and can lead to undesired network utilization across various radio access technologies and/or poor user experience. The systems and methods disclosed herein facilitate steering of user traffic to a radio network based on an analysis of real-time radio loading condition of a serving cell to improve overall network performance and user experience. As an example, the terms “traffic steering” as used herein can refer to directing, attempting to direct, and/or instructing to direct or deliver at least a port of traffic (data flows/packets) associated with a communication device from a first access point to a second access point. In one aspect, a network device can provide the real-time network load information and a device steering criterion (e.g., an adaptive cellular signal strength threshold (SST) information) to the mobile terminal served by the cellular network, which in turn can utilize the information to determine whether or not the mobile terminal should connect to a target radio network (e.g., WiFi network). The SST information enables the cellular network to steer mobile terminals that are located at a cell edge to the target radio network before steering mobile terminals that are not located at the cell edge to the target radio network. In addition, the SST information enables the cellular network to adjust the number of mobile terminals that are steered to the target radio network depending on the real-time network cellular congestion conditions.

Referring initially to FIG. 1, there illustrated is an example system 100 that facilitates network selection based on a signal strength (SS) criterion, according to one or more aspects of the disclosed subject matter. System 100 can comprise a user equipment (UE) 102, served by an access point 104 of a first radio network that employs SS criterion data to facilitate cell/network selection. As an example, UE 102 can include most any electronic communication device such as, but not limited to, most any consumer electronic device, for example, a tablet computer, a digital media player, a digital photo frame, a digital camera, a cellular phone, a personal computer, a personal digital assistant (PDA), a smart phone, a laptop, a gaming system, etc. Further, UE 102 can also include, LTE-based devices, such as, but not limited to, most any home or commercial appliance that includes an LTE radio. It can be noted that UE 102 can be mobile, have limited mobility and/or be stationary. In one example, UE 102 can include a multi-band, multi-mode, and/or multi-radio device.

In one embodiment, access point 104 (e.g., base station, eNodeB, femto access point, HomeNodeB, etc.) can determine network load information that represents mobile traffic handled by the access point 104. As an example, the network load information can represent a number of UEs served by the access point 104, load/bandwidth utilization of the UEs and/or load and/or bandwidth conditions associated with a transmission link that couples the access point 104 to the core cellular network. In one aspect, the access point 104 can also determine a classification associated with network congestion based on the network load information. For example, the network congestion can be classified as “High,” “Medium,” “Low,” etc. Additionally or alternatively, a percentage value (e.g., 90% congested, 75% congested, etc.) representing the network load can also be determined. Based on the network load information, the access point 104 can determine SS criterion data 106, such as, but not limited to a signal strength threshold (SST) value. In one aspect, the SS criterion data 106 can be modified to select specific UEs (e.g., UEs that are near a cell edge) and/or adjust the number of UEs that are steered to a target radio network (e.g., a WiFi network). It can be noted that the SST value corresponding to a specific network load and/or congestion classification can be static (e.g., constant value) or dynamic (e.g., changes based on network conditions). The access point 104 can transmit (e.g., periodically, on demand, in response to determining a change in the network load classification, etc.) the SS criterion data 106 to one or more UEs (including UE 102) that are served by the access point 104. Additionally or optionally, the access point 104 can transmit (e.g., periodically, on demand, in response to detecting an event, etc.) network load data 108 comprising the network load classification and/or percentage data to the one or more UEs (including UE 102). As an example, the access point 104 can transmit the SS criterion data 106 and/or network load data 108 via a set of cell broadcast messages (e.g., system information block message) via one or more layers (different radio access technologies (RATs) and/or frequencies).

The UE 102 can receive the SS criterion data 106 and/or network load data 108 and utilize the received information to determine whether the UE 102 should connect to a target access point 110 of the target radio access network (RAN). In one aspect, a network selection component 112 can determine whether a received signal strength associated with a signal transmitted by the access point 104 satisfies the SS criterion. For example, if the received signal strength is less than a SST specified by the SS criterion, the network selection component 112 can facilitate a connection of the UE 102 with the target access point 110; else, if the received signal strength is greater than the SST, the network selection component 112 can instruct the UE 102 to continue to be coupled to the access point 104 and direct data traffic via the access point 104. Although the network selection component 112 is depicted to reside within the UE 102, it can be noted that at least a portion of the network selection component 112 can reside outside the UE 102, for example, in a device locally or remotely coupled to the UE 102, within the access point 104, and/or a network device within the mobility network. In another example, the network selection component 112 can be distributed over multiple device (e.g., including UE 102) coupled to each other. Thus, the UE 102 is not limited to solely making a network selection decision and can participate in a joint selection process with one or more devices (not shown) that are coupled to the UE 102.

Referring now to FIG. 2, there illustrated is an example system 200 for determining a SS criterion that improves radio efficiency during traffic steering, in accordance with an aspect of the subject disclosure. In one aspect, system 200 facilitates determination of a SST that can be utilized by UEs to facilitate a selection of a RAN for communication. It is noted that the access point 104 and the target access point 110 can include functionality as more fully described herein, for example, as described above with regard to system 100. Further, the UEs 102 ₁-102 _(N) (where N is a most any positive integer) can comprise most any communication devices that are communicatively coupled to the access point 104. Moreover, UEs 102 ₁-102 _(N) can be substantially similar UE 102 and can include functionality as more fully described herein, for example, as described above with regard to UE 102. In one example, the target access point 110 can include, but is not limited to an access point that is operated and/or deployed by a service provider of the communication network 204, and that utilizes the same or different radio technologies for communication with the UEs 102 ₁-102 _(N) as utilized by access point 104.

According to an embodiment, access point 104 can include a load determination component 202 that is utilized to determine current network load conditions associated with the access point 104. The load determination component 202 can determine load utilization on radio links (e.g., between access point 104 and UEs 102 ₁-102 _(N)) and/or a transport link (e.g., between access point 104 and the communication network 204. Additionally or optionally, the load determination component 202 can collect load information of neighboring access point (e.g., eNB, HNB, base stations, etc. deployed by the communication network 204), for example, via X2 interfaces enabled by Self Organizing Network (SON) and/or most any other transport mechanisms. In one example, the load determination component 202 can also receive load information of an overlapping cell from other RATs or frequencies. For example, the load determination component 202 can receive load information of the target access point 110 that can be utilized facilitate traffic steering. Based on the determined and/or received load information, the load determination component 202 can determine a classification and/or category associated with network congestion. For example, the load determination component 202 can classify the network load/congestion as High, Medium, Low, Normal, etc. Additionally or alternatively, the load determination component 202 can determine a percentage value (e.g., 90% congested, 75% congested, etc.) representing the network load.

Based on the network load information, a SS criterion determination component 208 can determine SS criterion data, such as, but not limited to a SST value (e.g., −108 dB, −105 dB, etc.) and/or range (e.g., −108 to −109 dB). As an example, as the network congestion increases, the SST value can be increased (and/or SS range can be increased), such that a greater number of UEs (e.g., UEs 102 ₁-102 _(N)) can be steered to a target radio network (e.g., wireless local area network (WLAN), a WiFi network, a femtocell network, etc.). Additionally or alternatively, the SST value or SS range data can be selected in a manner such that UEs that are closer to a cell edge (e.g., further away from the access point 104) can be steered to the target radio network before steering the UEs that are not close to the cell edge. In another example, the SST value or SS range data can be selected in a manner such that UEs that are closer to target access point 110 can be steered to the target radio network before steering the UEs that further away from the target access point 110. In one aspect, operator defined network policies 210 can be utilized to facilitate the determination of SS criterion. For example, the operator defined network policies 210 can specify the SST values and/or ranges corresponding to different network load conditions. In another aspect, the SS criterion determination component 208 can employ historical data (e.g., previously utilized SST values/ranges that improved radio network efficiency) and/or automated learning mechanisms (e.g., described in detail with respect to FIG. 8) to determine the SS criterion. Further, in yet another example, the SST values and/or ranges can be customized based on a type of target radio network (e.g., different SST values and/or ranges can be assigned for macro networks, femto network, WiFi network, etc.). It can be noted that the mapping between the network load/congestion and the SST values can be static or dynamic. For example, the mapping can depend on target cell distribution and/or UE distribution within a coverage area of the access point 104 that can change over time.

To initiate the traffic steering, a data transfer component 212 can transmit the information determined by the load determination component 202 and/or the SS criterion determination component 208 to one or more of the UEs 102 ₁-102 _(N). Moreover, the data transfer component 212 can transmit load information regarding (i) the access point 104; and optionally (ii) the neighboring access point 206; and/or (iii) overlapping cells from other RATs or frequencies (e.g., target access point 110). As an example, the load information can be in the format of categories (e.g., High, Medium, Low), or in the format of percentages (e.g., 70% congested, 90% congested, etc.). In addition, the data transfer component 212 can transmit the adaptive SS criterion to one or more of the UEs 102 ₁-102 _(N). Additionally or optionally, the data transfer component 212 can transmit cell type information related to the target access point 110 (e.g., macro cell, femtocell, WLAN cell, etc.).

Typically, the data transfer component 212 can transmit the load information and/or the SS criterion at various times, such as, but not limited to, periodically, on demand, based on detecting an event, based on detecting a change in a network load condition, etc. Further, the data transfer component 212 can transmit the load information and/or the SS criterion via one or more layers (e.g., different RATs and/or frequencies). As an example, the data transfer component 212 can transmit the load information and/or the SS criterion via one or more cell broadcast messages, such as, but not limited to, a System Information Block (SIB) messages. In one embodiment, the load information and/or the SS criterion can be included within or appended to an SIB message that contains other information. Alternatively, the load information and/or the SS criterion can be transmitted as a new SIB message. It is noted that the data transfer component 212 is not limited to broadcasting the load information and/or the SS criterion data, and that the data transfer component 212 can transmit the load information and/or the SS criterion data to one or more of the UEs 102 ₁-102 _(N) via various different messages, such as, but not limited to a Short Message Service (SMS) message (e.g., SMS Cell Broadcast (SMS-CB) messages and/or SMS Peer-to-Peer (SMPP) messages), a Multimedia Messaging Service (MMS), an email message, a Wireless Application Protocol (WAP) push message, an Unstructured Supplementary Service Data (USSD), or any combination thereof. Further, the data transfer component 212 is not limited to transmitting the same messages to all the UEs 102 ₁-102 _(N) and the data transfer component 212 can customize the messages for the UEs 102 ₁-102 _(N) based on a subscriber class associated with the UEs 102 ₁-102 _(N). For example, messages transmitted to UEs that are associated with a base rate plan can only include information related to a target access point (e.g., WiFi access point), whereas, messages transmitted to UEs that are associated with a higher tier subscriber classes can include more comprehensive network load information (e.g., load information associated with different layers of LTE network).

Broadcast messages transmitted by the access point 502 can be received, read and/or followed the UEs 102 ₁-102 _(N), when the UEs 102 ₁-102 _(N) are operating in an idle mode (e.g., no ongoing communication sessions) and/or in a connected mode (e.g., performing an on-going communication session). In addition, in one example, when a UE, for example UE 102 ₁, is in an active mode, the UE 102 ₁ can facilitate load management by transmitting the query to the access point 104, for example, when determined that the UE 102 ₁ is suffering the effects of congestion in-call (e.g., poor Quality of Service, dropped packets, interruptions, etc.). For example, if resources grants are getting sparse, the UE 102 ₁ can transmit a query to the access point 104 to find a better cell while operating in the active mode (e.g., in-call). In one example, if the access point 104 is too overloaded to respond to the query, cached load information (e.g., from the last broadcast message) can be transmitted by the access point 104 to the UE 102 ₁. The UE 102 ₁ can utilize the information to find a less loaded access point (e.g., target access point 110). In this example case, the UE can take a reception break (e.g., gap-assisted measurements) on the serving cell (e.g., served via access point 104) to find other candidates (e.g., target access point 110) with less load during the ongoing communication session.

Referring now to FIG. 3, there illustrated is an example system 300 comprising a UE 102 that facilitates efficient network selection, according to an aspect of the subject disclosure. The UE 102 can connect to different RANs (e.g., cellular network and WLAN network) that employ different (or the same) RATs and/or frequencies. It is noted that the UE 102, the access point 104, the target access point 110, and the network selection component 112 can include functionality as more fully described herein, for example, as described above with regard to systems 100 and 200.

In one aspect, a data reception component 302 can receive the load information and/or the SS criterion transmitted by the access point 104, for example, via a cell broadcast message. As an example, the data reception component 302 can parse the received messages and provide the load information and the SS criterion to the network selection component 112 that determines a RAN via which the UE 102 can communicate. According to an aspect, the network selection component 112 analyzes the load information and the SS criterion to select a RAN of available RANs. The network selection component 112 can determine a received signal strength (e.g., reference signal received power (RSRP), received signal code power (RSCP), received signal strength indicator (RSSI), etc.) associated with a signal transmitted by the access point 104. Further, the network selection component 112 can determine whether the received signal strength satisfies the SS criterion. For example, the network selection component 112 can compare the received signal strength to the SST value and/or SS range. If the received signal strength is lower than the SST value (and/or within the SS range), the network selection component 112 can determine that the UE 102 can steer traffic to the target RAN and accordingly, can initiate attachment signaling to connect to the target access point 110. Alternatively, if the received signal strength is higher than the SST value (and/or outside the SS range), the network selection component 112 can determine that the UE 102 is not to be steered to the target RAN, and can instruct the UE 102 to continue communicating via the access point 104. Since the SST values and/or ranges are adapted based on current network conditions, a priority associated with UEs that are closer to the cell edge to be steered to the target RAN is increased.

In addition to the load information and the SS criterion, the network selection component 112 can employ data stored within a local data store 304 (and/or a remote data store (not shown)) to further customize the network selection. It is noted that the data store 304 can include volatile memory(s) or nonvolatile memory(s), or can include both volatile and nonvolatile memory(s). Examples of suitable types of volatile and non-volatile memory are described below with reference to FIG. 16. The memory (e.g., data stores, databases) of the subject systems and methods is intended to comprise, without being limited to, these and any other suitable types of memory. Moreover, the network selection component 112 can analyze various parameters, such as, but not limited to, device preferences 306, application preferences 308, policies 310 (e.g., user defined policies, operator/service provider-defined policies, etc.) to determine which RAN is best suited (e.g., in terms of efficiency, user experience, etc.) for communication. For example, the network selection component 112 can determine which application running on UE 102 should be steered to which particular RAN based on operator's policy and/or information gathered locally from the data store 304 and/or from the network. Further, the network selection component 112 can also utilize UE 102 related data, for example, location, speed, motion, and/or direction of travel, of the UE 102 to facilitate network selection. As an example, steering a fast moving UE 102, or a UE at a specified location/area, to a WLAN network is not preferred. In another example, since certain applications (e.g., voice) may not be suited for WLAN communications, steering data associated those applications to the WLAN is not preferred.

Further, the data reception component 302 can also receive, from the access point 104 and/or the target access point 110, information related to the target access point 110 such as (but not limited to) load conditions and/or cell type information. The network selection component 112 can utilize this data to facilitate network selection. For example, if determined that the target access point 110 is highly congested, the network selection component 112 can determine that the traffic of the UE 102 is not to be steered to the target RAN, and can instruct the UE 102 to continue communication via the access point 104. In one aspect, since macro cells and small cells have different coverage areas, the cell type information can also be utilized to facilitate efficient network selection. For example, if the UE 102 is moving at a high speed (e.g., above a specified speed threshold, for example, at 25 mph) network selection component 112 can select the target access point 110 if the target access point 110 is a macro access point; else, continue to be coupled to the access point 104 if the target access point 110 is a WLAN or a femtocell/picocell.

According to an aspect, the network selection component 112 can perform network selection periodically, on-demand, in response to detecting an event (e.g., receipt of load information and/or the SS criterion). If a new network has been selected the UE 102 can initiate attachment signaling to connect to the new network; else the UE 102 can continue to be connect to and communicate via the existing network. It is noted that the UE 102 is not limited to communicating all data (e.g., IP flows) through the new network and that the UE 102 can select a first portion of data (e.g., select a first set of IP flows) that can be communicated via the new network (e.g., via target access point 110) and a second portion of data (e.g., select a second set of IP flows) that can be communicated via the old network (e.g., via access point 104). As an example, the selection of the data (e.g., IP flows) can be based on operator policy(ies), e.g. using an access network discovery and selection function (ANDSF). The operator policies can be received by the UE 102 from an ANDSF server (now shown) within (or coupled to) the mobility network and stored as policies 310. For example, the operator policies can include an Inter-system mobility policy (ISMP) and/or an Inter-system routing policy (ISRP). The ISMP specifies that only one radio access network can be active (e.g., accessed) at a given time (e.g., all the traffic associated with UE 102 is communicated either via access point 104 or via target access point 110). The ISRP specifies that the UE 102 can access more than one radio access network at a given time (e.g., some traffic can be communicated via the target access point 110 based on operator ISRP policy). As an example, the policy can specify (but is not limited to) when a serving cellular network becomes congested, if the UE 102 is selected (e.g., based on SS criterion and/or various parameter utilized by the network selection component 112) to be steered to the target radio access point device 110, only data associated with certain applications, or requiring certain bandwidth/Quality of Service, etc. (e.g., streaming video) can be steered to the target access point device 110, while other data associated with other applications, or requiring other bandwidth/Quality of Service, etc. (e.g., VoIP) can be communicated via the access point 104.

FIGS. 4A and 4B illustrate example systems (400, 450) that facilitate traffic steering based on an adaptive SS criterion, according to an aspect of the disclosed subject matter. Systems 400, 450 depict traffic steering from a first network (e.g., a cellular network) to one or more second networks (e.g., WLAN), for example, that are commonly operated. Moreover, system 400 depicts traffic steering in a lightly congested network, while system 450 depicts traffic steering in a more heavily congested network. It can be noted that the first and second network can use different or the same RATs, frequencies, and/or protocols for communication with the UE. The access point 104 can include functionality as more fully described herein, for example, as described above with regard to systems 100-300. Further, the UEs 102 a-102 h can be substantially similar to UE 102 and can include functionality as more fully described herein, for example, as described above with regard to the UE 102. Although eight UEs 102 a-102 h are depicted in the coverage area 404, it can be appreciated that the subject disclosure is not limited to eight UEs and coverage area 404 can include one or more UEs. In addition, target access points 110 ₁ and 110 ₂ can be substantially similar to target access point 110 and can include functionality as more fully described herein, for example, as described above with regard to the target access point 110. Although only two target access points 110 ₁ and 110 ₂ are depicted to have coverage areas (402 ₁, 402 ₂) that overlap (e.g., completely or partially) the coverage area of the access point 104, it can be appreciated that the subject disclosure is not limited to two target access points and can include one or more target access points.

When the first RAN (e.g., cellular RAN) is not congested, the network operator would typically prefer to serve its customers' traffic via the cellular network itself, for example, to provide cellular services and/or a better end customer experience. As the congestion level of first RAN increases (e.g., data traffic through access point 104 increases), the access point 104 can steer traffic of some of the UEs 102 a-102 h within its coverage area to one or more target access points (110 ₁, 110 ₂). FIG. 4A depicts an example scenario, wherein the first RAN is lightly congested, for example, with 70% load, congestion level set to “medium,” etc. (e.g., determined by the load determination component 202). In this example, scenario, the access point 104 can determine (e.g., by employing SS criterion determination component 208) a first SST 408 ₁ and transmit the first SST 408 ₁ to one or more of the UEs 102 a-102 h. For example, the SST 408 ₁ can be set at −108 dB. Typically, the SST 408 ₁ can be determined in a manner such that traffic associated with some of the UEs 102 a-102 h (e.g., UEa and UEb), that experience poor signal quality (e.g., received signal strength is less than the SST 408 ₁) can be steered from the first RAN to a second RAN of the target access point 110 ₁. The remaining UEs (e.g., UEc-UEg) that experience better signal quality (e.g., received signal strength is greater than the SST 408 ₁) and/or the UEs (e.g., UEh) that are not within a coverage area of another RAN can continue to be served by and communicate via the access point 104. Moreover, the SST value is modified such that traffic associated with UEs that are at the cell edge and/or UEs that experience poor radio quality is steered to the target RAN before steering traffic associated with UEs that are at not as close the cell edge and/or UEs that experience better radio quality.

It is noted that the UEa and UEb can consider additional criteria prior to attaching to the target access point 110 ₁ such as (but not limited to) determining that the signal quality associated with a signal received from the target access point 110 ₁ is greater than a defined threshold. As an example, UEa and/or UEb can scan the target access point 110 ₁ via a Hotspot2.0 (HS2.0) Beacon and/or Access Network Query Protocol (ANQP) to determine quality information associated with the target access point 110 ₁. Further, the additional criterion can include (but is not limited to), determining that the UE (e.g., UEa and UEb) satisfies a speed and/or motion criterion (e.g., the UE is moving at a speed less than a predefined threshold speed), determining that application and/or services running on the UE (e.g., UEa and UEb) are supported by the target access point 110 ₁, determining that user preferences are satisfied, and so on.

Referring now to FIG. 4B, there depicted is an example scenario, wherein the first RAN is heavily congested, for example, with 88% load, congestion level set to “Medium,” etc. (e.g., determined by the load determination component 202). In this example, scenario, the access point 104 determines (e.g., by employing SS criterion determination component 208) a second SST 408 ₂ and transmits the second SST 408 ₂ to one or more of the UEs 102 a-102 h. The second SST 408 ₂ is typically higher than the first SST 408 ₁. For example, based on the increase in network congestion, the access point can change the SST from −108 dB to −105 dB. Accordingly, a traffic associated with greater number of UEs (UEa-UEe) can be steered to target radio access networks. The remaining UEs (e.g., UEf) that experience better signal quality (e.g., received signal strength is greater than the SST 408 ₂) and/or the UEs (e.g., UEg-UEh) that are not within a coverage area of another RAN can continue to be served by and communicate via the access point 104. As discussed supra, it is noted that UEa-UEe can consider additional criteria prior to attaching to the target access points 110 ₁ and 110 ₂ such as (but not limited to) signal quality associated with a signal received from the target access points 110 ₁ and 110 ₂, the speed and/or motion criterion, application and/or services criterion, user preference criterion, and the like.

Further, it can be noted that as the congestion of the first RAN decreases, the SST value can be adjusted accordingly (e.g., the second SST 408 ₂ can be changed back to the first SST 408 ₁). Furthermore, it can be noted that even when first RAN is not congested, some UEs (e.g., UEa) might experience poor RF quality associated with signals received from the access point 104, but robust signal reception and quality associated with the target access point 110 ₁. In this example scenario, UEa can be steered to attach to and communicate via the target access point 110 ₁.

Referring now to FIG. 5, there illustrated is an example system 500 that facilitates query-based network selection, according to one or more aspects of the disclosed subject matter. In one example, system 500 can be utilized in an example scenario wherein the access point 502 (e.g., base station, eNB, HNB, etc.) serving the UE 102 does not support determination and/or transmission of the SS criterion. In another example, system 500 can be utilized in an example scenario wherein the UE 102 performs load management in an active mode (e.g., during an ongoing communication session). In this example, the access point 502 may or may not support the determination and/or transmission of the SS criterion. It can be noted that the UE 102, the network selection component 112, the communication network 204, and the data reception component 302 can include functionality as more fully described herein, for example, as described above with regard to systems 100-400.

In one aspect, if the UE 102 determines that it is not served by a carrier/access point that transmits network load and/or SS criterion data, the data reception component 302 can query a network load management system 504 via an access point 502 to request for the network load and SS criterion data. As an example, the query can be transmitted periodically (e.g., based on predefined timing intervals), on-demand, in response to an event, etc. Typically, the query can be sent more or less frequently based upon the performance of the current served technology/carrier/layer. Further, the query can be sent when the UE 102 is operating in an idle mode (e.g., no ongoing communication sessions) or in an active mode (e.g., the UE is performing one or more ongoing communication sessions). Broadcast messages (if transmitted by the access point 502) can be received, read and/or followed the UE 102 when the UE 102 is in the idle mode and/or in a connected mode (e.g., performing an on-going communication session). In addition, in one example, the UE 102 can facilitate load management during an active mode by transmitting the query to the network load management system 504, for example, when determined that the UE 102 is suffering the effects of congestion in-call. For example, if the UE 102 determines during an ongoing communication session that resources grants are getting sparse, the UE 102 can transmit the query to the network load management system 502 to find a better (e.g., non-overloaded) cell (e.g., while still active in-call). In one example, if the network load management system 504 and/or the serving cell are too overloaded to respond to the query, cached load information can be transmitted to the UE 102, which in turn can utilize the cached load information to find a less loaded cell. In this example case, the UE 102 can search for target cells during an ongoing communication session by taking a reception break (e.g., gap-assisted measurements) on the serving cell.

In response to the query, the network load management system 504 can determine the load information and SS criterion data requested in the query and provide the requested information to the UE 102 in one or more response messages transmitted via the access point 502. In one aspect, the network load management system 504 can collect load data from one or more access points (e.g., access point 502) deployed in the communication network 204. For example, the one or more access points (e.g., access point 502) can report load data to the network load management system 504 (e.g., periodically, when a change is network load is detected, etc.). It can be noted that the network load management system 504 can collect the load data in a pull configuration with the one or more access points (e.g., access point 502) and/or receive the load data pushed by one or more access points (e.g., access point 502). Based on an analysis of the collected data, the network load management system 504 can utilize SS criterion determination component 506 to identify SS criteria corresponding to different sectors/access points of the communication network 204. It can be noted that SS criterion determination component 506 can be substantially similar to SS criterion determination component 208 and can include functionality as more fully described herein, for example, as described above with regard SS criterion determination component 208. In one aspect, the response sent by the network load management system 504 can be customized for the UE 102, for example, based on a subscriber class associated with the UE 102. In one example, data indicative of the subscriber class can be received from the UE 102 in the query and/or can be received from a subscriber data store (not shown) of the communication network 204. For example, if determined that the UE 102 is associated with a base rate plan, the network load management system 504 can transmit a response customized for the base rate plan that can only include information related to a target access point (e.g., WiFi access point): whereas, if determined that UE 102 is associated with a higher tier, the network load management system 504 can transmit a response that comprises more comprehensive network load information (e.g., load information associated with different layers of LTE network).

Although the network load management system 504 is illustrated as being remotely coupled to the access point 502, It can be noted that the network load management system 504 can be locally coupled to the access point 502 (e.g., within the RAN) or can be located elsewhere within the communication network 204.

In an aspect, the query generated by UE 102 can include data such as (but not limited to) the served physical cell ID (PCI) of the access point 502 to which the UE 102 is connected, the cell identifier (ID) associated with the access point 502, the Basic Service Set IDentifier (BSSID) and/or the Service Set Identifier (SSID) (if the RAN includes or is otherwise capable of receiving load information from a nearby a WiFi network). Based on the PCI/SSID/BSSID, the network load management system 504 can identify the network sectors corresponding to the access point 502 and/or one or more neighboring access points (not shown), dynamically determine (and/or lookup) the corresponding SS criterion and network load information, and transmit the determined information to the UE 102. The UE 102 can receive the SS criterion and network load information (e.g., via the data reception component 302) and analyze the SS criterion and network load information to facilitate network selection (e.g., via the network selection component 112).

Referring now to FIG. 6, there illustrated is an example system 600 that facilitates network selection based on stored SS criteria, in accordance with an aspect of the subject disclosure. It can be noted that the UE 102, the network selection component 112, and the data reception component 302 can include functionality as more fully described herein, for example, as described above with regard to systems 100-500.

In one example, the UE 102 can include a data store 602 (the same as or different from data store 304) that can be utilized to store SS criteria records 604. In one aspect, the records 604 can retain SS criteria data corresponding to different network load classification values (e.g., “high, “low,” “70%”, “90%,” etc.). For example, for a 70% load value, the corresponding SS criteria can include a SST value of −108 dB; and for an 88% load value, the corresponding SS criteria can include a SST value of −105 dB. In one example, the records 604 can be predefined by an operator, periodically (e.g., via over-the-air updates), during initialization, during power on, on-demand, etc. In another example, the records 604 can be populated by UE 102, based on the messages (e.g., SIB message, cell broadcast message, etc.) received from an access point (e.g., access point 104). Once populated (or partially populated), the UE 102 can employ the records 604 to facilitate efficient network selection. In this example scenario, an access point serving the UE 102 can simply provide load information (and need not transmit SS criteria) to the UE 102. Based on the load information, the UE 102 can lookup the records 604 to determine a corresponding SS criterion, which can be utilized to facilitate network selection (e.g., by employing network selection component 112).

Referring now to FIG. 7, there illustrated is an example system 700 that offloads a portion of UEs from a first RAN to a second RAN based on random number generation, in one aspect of the subject disclosure. It is noted that the UE 102, the access point 104, the network selection component 112, and the data reception component 302 can include functionality as more fully described herein, for example, as described above with regard to systems 100-600. Consider an example scenario, wherein network congestion of the first RAN is “High” and traffic associated with a large number of UEs, coupled to the first RAN, are steered to the second RAN. In this example scenario, the steering can cause congestion in the second RAN and the UEs can be handed back to the first RAN. This can lead to a ping-pong effect, wherein the UEs are handed over between the first RAN and the second RAN. To avoid this ping-pong effect, the access point 104 can transmit a calculated integer “A”, e.g., in the range of 0-10, along with the load and SS criterion to only steer a portion of UEs to the second RAN. As an example, the calculated integer can be determined based on sequential counter and/or a random number generator. Further, each UE (e.g., UE 102) can generate a random number “X”, e.g., which is also in the range of 0-10, for example by employing a random number generator 702. As an example, the random number generator 702 can generate the random number in accordance with a class of users with similar service characteristics. Further, based on a defined (e.g., operator-defined) steering policy that employs the generated random number “X” and the received integer “A”, the network selection component 112 can determine whether traffic associated with the UE is to be steered to the second RAN. For example, the network selection component 112 can compare the generated random number “X” to the received integer “A” and if determined that “X” is less than “A”, the network selection component 112 can facilitate steering the UE to the second RAN; otherwise the UE can continue to be coupled to the access point 104. Although depicted to reside within the UE 102, it can be appreciated that the random number generator can be locally or remotely coupled to the UE 102.

Referring now to FIG. 8, there illustrated is an example system 800 that employs one ore more artificial intelligence (AI) components (802 ₁, 802 ₂), which facilitate automating one or more features in accordance with the subject embodiments. It can be appreciated that the UE 102, the access point 104, the SS criterion data 106, the network load data 108, the network selection component 112, the SS criterion determination component 208, the data transfer component 212, and the data reception component 302 can include respective functionality, as more fully described herein, for example, with regard to systems 100-700.

An example embodiment, system 800 (e.g., in connection with automatically determining a SS criterion, data transfer parameter, network selection criterion, etc.) can employ various AI-based schemes for carrying out various aspects thereof. For example, a process for determining optimal SST values/ranges, an optimal time to transfer the SST values/ranges to a UE, determining a number of UEs that are to be steered to a target RAN to efficiently reduce network congestion without negatively impacting user experience, selecting the UEs to which the SST values/ranges are transferred, etc. can be facilitated via an automatic classifier system implemented by AI component 802 ₁. Additionally or alternatively, a process for determining which network is to be selected, when a query for load/SST data is to be transmitted, etc. can be facilitated via an automatic classifier system implemented by AI component 802 ₂.

A classifier can be a function that maps an input attribute vector, x=(x1, x2, x3, x4, xn), to a confidence that the input belongs to a class, that is, f(x)=confidence(class). Such classification can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to prognose or infer an action that a user desires to be automatically performed. In the case of communication systems, for example, attributes can be information received from UEs and/or access points, and the classes can be categories or areas of interest (e.g., levels of priorities). A support vector machine (SVM) is an example of a classifier that can be employed. The SVM operates by finding a hypersurface in the space of possible inputs, which the hypersurface attempts to split the triggering criteria from the non-triggering events. Intuitively, this makes the classification correct for testing data that is near, but not identical to training data. Other directed and undirected model classification approaches include, e.g., naïve Bayes, Bayesian networks, decision trees, neural networks, fuzzy logic models, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein can also be inclusive of statistical regression that is utilized to develop models of priority.

As will be readily appreciated from the subject specification, an example embodiment can employ classifiers that are explicitly trained (e.g., via a generic training data) as well as implicitly trained (e.g., via observing UE behavior, user/operator preferences, historical information, receiving extrinsic information, network load/congestion trends, type of UE, type of target RAN, etc.). For example, SVMs can be configured via a learning or training phase within a classifier constructor and feature selection module. Thus, the classifier(s) of AI component 802 ₁ can be used to automatically learn and perform a number of functions, including but not limited to determining according to a predetermined criteria SST values/ranges related to a network load, when and/or or to which devices is the network load data 108 to be transmitted, when and/or or to which devices is the SS criterion data 106 to be transmitted, how many devices are to be steered to a target RAN, etc. Further, the classifier(s) of AI component 802 ₂ can be used to automatically learn and perform a number of functions, including but not limited to determining according to a predetermined criteria a network to which the UE 102 is to be handed over, a time at which a query for load/SST data is to be transmitted, etc. The criteria can include, but is not limited to, historical patterns and/or trends, UE behavior, user preferences, service provider preferences and/or policies, location of the UE, current time, type of UE, type of target RAN (e.g., macro cell, femtocell, WiFi network, etc.), and the like.

FIGS. 9-12 illustrate flow diagrams and/or methods in accordance with the disclosed subject matter. For simplicity of explanation, the flow diagrams and/or methods are depicted and described as a series of acts. It is to be understood and appreciated that the various embodiments are not limited by the acts illustrated and/or by the order of acts, for example acts can occur in various orders and/or concurrently, and with other acts not presented and described herein. Furthermore, not all illustrated acts may be required to implement the flow diagrams and/or methods in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that the methods could alternatively be represented as a series of interrelated states via a state diagram or events. Additionally, it should be further appreciated that the methods disclosed hereinafter and throughout this specification are capable of being stored on an article of manufacture to facilitate transporting and transferring such methods to computers. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or computer-readable storage/communications media.

Referring now to FIG. 9, illustrated is an example method 900 that transmits a SS criterion that is employed to facilitate efficient traffic steering, according to an aspect of the subject disclosure. As an example, method 900 can be implemented by one or more network devices of RAN, for example, an access point (e.g., base station, eNB, HNB, etc.) In another example, method 900 can be implemented by one or more devices of a core mobility network (e.g., network load management system).

At 902, network load associated with the access point and/or RAN can be determined. As an example, the network load can represent load utilization on radio links (e.g., between the access point and one or more UEs) and/or a transport link (e.g., between the access point and the core mobility network). Additionally or optionally, the network load can represent load utilization of neighboring access points, for example, received via X2 interfaces enabled by SON and/or most any other transport mechanisms. Further, the network load can also represent load utilization of an overlapping cell(s) from other RATs or frequencies (e.g., WLAN cell, WiFi cell, etc.). In one example, the network load can be represented as a load level-High, Medium, Low, Normal, etc. In another example, the network load can be represented as a percentage value-90% congested, 75% congested, 30% congested etc.

At 904, a SS criterion can be determined, for example, that corresponds to the current network load. It can be noted that the SS criterion can have a dynamic (or static) correspondence with the network load. For example, the correspondence can depend on overlapping cell distribution and/or UE distribution within a coverage area of the access point that can change with time. The SS criterion can define various parameters that facilitate steering traffic associated with a set of UEs to the overlapping cell such as, but not limited to a SST value or SS range. As an example, as the network load/congestion increases, the SST value can be increased (and/or SS range can be increased), such that a greater number of UEs can be steered to the overlapping cell(s). Additionally or alternatively, the SST value or SS range data can be selected in a manner such that UEs that are closer to a cell edge (e.g., further away from the access point) can be steered to the overlapping cell(s) before steering the UEs that are not close to the cell edge. Further, the SST values and/or ranges can be customized based on a type of the overlapping cell(s) (e.g., different SST values and/or ranges can be assigned for macro networks, femto networks, WiFi networks, etc.).

At 906, the network load and the SS criterion can be transmitted to one or more UEs that are coupled to the access point, for example, via a cell broadcast message(s) (e.g., SIB message). Typically, the information can be transmitted periodically, on demand, based on detecting an event, based on detecting a change in a network load condition, etc. Further, the information can be transmitted via different RATs and/or radio frequencies. Moreover, the UEs can utilize the information to determine whether a handover to (or simultaneous/additional connection with) the overlapping cell is to be performed.

FIG. 10 illustrates an example method 1000 that facilitates network selection to efficiently steer traffic associated with a UE from a first RAN to a second RAN, according to an aspect of the subject disclosure. As an example, method 1000 can be implemented by a UE to determine whether a connection to a new network is to be performed. At 1002, network load data can be received, for example, from an access point of the first RAN. At 1004, a SS criterion can be received, for example, from the access point. As an example, the network load data and the SS criterion can be received in the same or different cell broadcast messages (e.g., SIB messages). At 1006, the received information can be analyzed to determine whether an attachment attempt to connect with the second RAN (if available) is to be initiated. Further, at 1008, network selection (e.g., of the second RAN from a set of available RANs) is facilitated based on the analysis of the received information. For example, it can be determined whether a received signal strength (e.g., RSRP, RSCP, RSSI, etc.) associated with the first RAN satisfies the SS criterion. If the received signal strength does not satisfy the SS criterion, the second RAN can be selected; else, the first RAN can be selected. Since the SS criterion is adapted to current network load conditions, the probability of the second RAN being selected is higher if the UE is close to a cell edge of the first RAN. It can be noted that various additional parameters such as (but not limited to) device preferences, application preferences, user defined policies, operator/service provider-defined policies, etc. can be employed to facilitate the network selection.

FIG. 11 illustrates an example method 1100 for determining whether traffic associated with a UE is to be steered from a first RAN to a second RAN, according to an aspect of the subject disclosure. As an example, method 1100 can be implemented by a UE to determine whether a handover (and/or additional connection) to a new network is to be performed. At 1102, an adaptable SST can be received, for example, from an access point of the first RAN. As an example, the SST is adapted based on real time-network load and can be received via one or more cell broadcast messages (e.g., SIB messages). At 1104, a received signal strength (e.g., RSRP, RSCP, RSSI, etc.) associated with the first RAN can be determined. Further, the received signal strength can be compared with the SST and at 1106, it can be determined whether the received signal strength is greater than the SST. If determined that the received signal strength is less than the SST then, at 1108, a handover can be facilitated to steer traffic associated with the UE from the first RAN to the second RAN. It is noted that the UE is not limited to performing a handover (e.g., disconnecting from the first RAN) and can be simultaneously (or substantially simultaneously) be coupled to both the first and the second RAN. In this example scenario, the UE can determine, based on operator policy and/or application preferences, which data (e.g., a first set of IP flows) is to be communicated via the second RAN and which data (e.g., a second set of IP flows) is to be communicated via the first RAN.

Further, if determined, at 1106, that the received signal strength is greater than the SST, then, at 1110, the UE can continue to be coupled to and communicate via the first RAN. As the first RAN gets congested, the adaptable SST ensures UEs that are closer to the cell edge to be handed over to overlapping cells prior to handing over UEs that are not close to the cell edge. Further, the SST is adapted to adjust the number of UEs that are steered to overlapping cells based on real-time network load conditions.

Referring now to FIG. 12, there illustrated is an example method 1200 that facilitates query-based network selection, according to an aspect of the subject disclosure. As an example, method 1200 can be implemented by a UE to determine whether the UE should connect to a new network. At 1202, it can be determined that a serving access point (e.g., serving the UE) does not support SST determination. In response, at 1204, a query can be generated to request for the SST. Further, at 1206, the query can be transmitted to a network management system via the serving access point. As an example, the query can include data such as (but not limited to) a PCI of the serving access point, a cell ID of a cell site to which the UE is coupled, and/or a BSSID and/or an SSID associated with an available WLAN network. Moreover, based on an analysis of the query, the network load management system can identify the network sector(s) corresponding to the serving access point and/or one or more neighboring access points, determine the corresponding SST, and transmit the determined SST to the UE (e.g., via the serving access point). At 1208, a response comprising the SST can be received from the network management system. Further, at 1210, the network selection can be facilitated based on the received SST. For example, the UE can select an overlapping RAN and perform attachment signaling to connect with the overlapping RAN, if determined that a signal strength associated with a signal received from the serving access point is less than the SST.

Referring now to FIG. 13, there is illustrated a block diagram of a UE 1300 that facilitate network selection based on an adaptable SS criterion in accordance with the subject specification. Moreover, the UE 1300 can be substantially similar to and include functionality associated with UE 102 described herein. In one aspect, the UE 1300 can include a processor 1302 for controlling all onboard operations and processes. A memory 1304 can interface to the processor 1302 for storage of data (e.g., including data retained in data store 304 and/or data store 602) and one or more applications 1306 being executed by the processor 1302. A communications component 1308 can interface to the processor 1302 to facilitate wired/wireless communication with external systems (e.g., via access point 104, target access point 110, communication network 204, etc.). The communications component 1308 can interface to a location component 1309 (e.g., GPS transceiver) that can facilitate location detection of the UE 1300.

The UE 1300 can include a display 1310 for displaying received content (and/or content to be transferred) and/or for displaying text information related to operating and using the device features. A serial I/O interface 1312 is provided in communication with the processor 1302 to facilitate serial communication (e.g., USB, and/or IEEE 1394) via a hardwire connection. Audio capabilities are provided with an audio I/O component 1314, which can include a speaker for the output of audio signals related to, for example, recorded data or telephony voice data, and a microphone for inputting voice signals for recording and/or telephone conversations.

Further, the UE 1300 can include a slot interface 1316 for accommodating a subscriber identity module (SIM) 1318. Firmware 1320 is also provided to store and provide to the processor 1302 startup and operational data. The UE 1300 can also include an image capture component 1322 such as a camera and/or a video decoder 1324 for decoding encoded multimedia content. Further, the UE 1300 can include a power source 1326 in the form of batteries, which power source 1326 interfaces to an external power system or charging equipment via a power I/O component 1328. In addition, the UE 1300 can include the network selection component 112, the data reception component 302, the random number generator 702 and the AI component 802 ₂, which can be stored in memory 1304 and/or implemented by an application 1306, can include respective functionality, as more fully described herein, for example, with regard to systems 100-800.

To provide further context for various aspects of the subject specification, FIGS. 14 and 15 illustrate, respectively, a block diagram of an example embodiment 1400 of an access point that facilitates traffic steering based on an adaptable SS criterion to facilitate traffic steering and a wireless communication environment 1500, with associated components for operation of efficient network selection in accordance with aspects described herein.

With respect to FIG. 14, in example embodiment 1400, access point 104 can receive and transmit signal(s) (e.g., traffic and control signals) from and to wireless devices, access terminals, wireless ports and routers, etc., through a set of antennas 1469 ₁-1469 _(N). It should be appreciated that while antennas 1469 ₁-1469 _(N) are a part of communication platform 1425, which comprises electronic components and associated circuitry that provides for processing and manipulating of received signal(s) (e.g., a packet flow) and signal(s) (e.g., a broadcast control channel) to be transmitted. In an aspect, communication platform 1425 can include a transmitter/receiver (e.g., a transceiver) 1466 that can convert signal(s) from analog format to digital format (e.g., analog-to-digital conversion) upon reception, and from digital format to analog (e.g., digital-to-analog conversion) format upon transmission. In addition, receiver/transmitter 1466 can divide a single data stream into multiple, parallel data streams, or perform the reciprocal operation. Coupled to transceiver 1466 is a multiplexer/demultiplexer 1467 that facilitates manipulation of signal in time and/or frequency space. Electronic component 1467 can multiplex information (data/traffic and control/signaling) according to various multiplexing schemes such as time division multiplexing (TDM), frequency division multiplexing (FDM), orthogonal frequency division multiplexing (OFDM), code division multiplexing (CDM), space division multiplexing (SDM), etc. In addition, mux/demux component 1467 can scramble and spread information (e.g., codes) according to substantially any code known in the art; e.g., Hadamard-Walsh codes, Baker codes, Kasami codes, polyphase codes, and so on. A modulator/demodulator 1468 is also a part of operational group 1425, and can modulate information according to multiple modulation techniques, such as frequency modulation, amplitude modulation (e.g., M-ary quadrature amplitude modulation (QAM), with M a positive integer), phase-shift keying (PSK), and the like.

Access point 104 also includes a processor 1445 configured to confer functionality, at least partially, to substantially any electronic component in the access point 104, in accordance with aspects of the subject disclosure. In particular, processor 1445 can facilitates implementing configuration instructions received through communication platform 1425, which can include storing data in memory 1455. In addition, processor 1445 facilitates processing data (e.g., symbols, bits, or chips, etc.) for multiplexing/demultiplexing, such as effecting direct and inverse fast Fourier transforms, selection of modulation rates, selection of data packet formats, inter-packet times, etc. Moreover, processor 1445 can manipulate antennas 1469 ₁-1469 _(N) to facilitate beamforming or selective radiation pattern formation, which can benefit specific locations covered by the access point 104; and exploit substantially any other advantages associated with smart-antenna technology. Memory 1455 can store data structures, code instructions, system or device information like device identification codes (e.g., International Mobile Station Equipment Identity (IMEI), Mobile Station International Subscriber Directory Number (MSISDN), serial number . . . ) and specification such as multimode capabilities; code sequences for scrambling; spreading and pilot transmission, floor plan configuration, access point deployment and frequency plans; and so on. Moreover, memory 1455 can store configuration information such as schedules and policies; geographical indicator(s); network load data, SST data, historical logs, and so forth.

In embodiment 1400, processor 1445 can be coupled to the memory 1455 in order to store and retrieve information necessary to operate and/or confer functionality to communication platform 1425, network interface 1435 (e.g., that coupled the access point to core network devices such as but not limited to a network controller), and other operational components (e.g., multimode chipset(s), power supply sources . . . ; not shown) that support access point 104. The access point 104 can further include a load determination component 202, a SS criterion determination component 208, a data transfer component 212, and/or an AI component 802 ₁, which can include functionality, as more fully described herein, for example, with regard to systems 100-400 and 600-800. In addition, it is to be noted that the various aspects disclosed in the subject specification can also be implemented through (i) program modules stored in a computer-readable storage medium or memory (e.g., memory 1455) and executed by a processor (e.g., processor 1445), or (ii) other combination(s) of hardware and software, or hardware and firmware.

Referring now to FIG. 15, there illustrated is a wireless communication environment 1500 that includes two wireless network platforms: (i) A first network platform 1510 (e.g., macro network platform) that serves, or facilitates communication with user equipment 1575 via a first RAN 1570. As an example, in cellular wireless technologies (e.g., 3GPP UMTS, HSPA, 3GPP LTE, 3GPP UMB, 4G LTE, etc.), the first network platform 1510 can be embodied in a Core Network; and (ii) A second network platform 1580 (e.g., WLAN platform), which can provide communication with UE 1575 through a second RAN 1590 linked to the second network platform 1580. It should be appreciated that the second network platform 1580 can offload UE 1575 from the first network platform 1510, once UE 1575 attaches (e.g., based on the traffic steering described herein) to the second RAN. In one example, the first RAN and the second RAN can be commonly operated and/or deployed by a common service provider.

It is noted that RAN (1570 and/or 1590) includes base station(s), or access point(s), and its associated electronic circuitry and deployment site(s), in addition to a wireless radio link operated in accordance with the base station(s). Accordingly, the first RAN 1570 can comprise various access points like access point 104, while the second RAN 1590 can comprise multiple access points like access point 110.

Both the first and the second network platforms 1510 and 1580 can include components, e.g., nodes, gateways, interfaces, servers, or platforms, that facilitate packet-switched (PS) and/or circuit-switched (CS) traffic (e.g., voice and data) and control generation for networked wireless communication. For example, the first network platform 1510 includes CS gateway node(s) 1512 which can interface CS traffic received from legacy networks like telephony network(s) 1540 (e.g., public switched telephone network (PSTN), or public land mobile network (PLMN)) or a SS7 network 1560. Moreover, CS gateway node(s) 1512 interfaces CS-based traffic and signaling and gateway node(s) 1518. In addition to receiving and processing CS-switched traffic and signaling, gateway node(s) 1518 can authorize and authenticate PS-based data sessions with served (e.g., through the first RAN 1570) wireless devices. Data sessions can include traffic exchange with networks external to the first network platform 1510, like wide area network(s) (WANs) 1550; it should be appreciated that local area network(s) (LANs) can also be interfaced with first network platform 1510 through gateway node(s) 1518. Gateway node(s) 1518 generates packet data contexts when a data session is established. It should be further appreciated that the packetized communication can include multiple flows that can be generated through server(s) 1514. The first network platform 1510 also includes serving node(s) 1516 that conveys the various packetized flows of information or data streams, received through gateway node(s) 1518. It is to be noted that server(s) 1514 can include one or more processors configured to confer at least in part the functionality of first network platform 1510. To that end, one or more processors can execute code instructions stored in memory 1530 or other computer-readable medium, for example.

In example wireless environment 1500, memory 1530 can store information related to operation of first network platform 1510. Information can include business data associated with subscribers; market plans and strategies, e.g., promotional campaigns, business partnerships; operational data for mobile devices served through first network platform; service and privacy policies; end-user service logs for law enforcement; and so forth. Memory 1530 can also store information from at least one of telephony network(s) 1540, WAN(s) 1550, or SS7 network 1560. Many different types of information can be stored in memory 1530 without departing from example embodiments.

Gateway node(s) 1584 can have substantially the same functionality as PS gateway node(s) 1518. Additionally or optionally, the gateway node(s) 1584 can also include substantially all functionality of serving node(s) 1516. In an aspect, the gateway node(s) 1584 can facilitate handover resolution, e.g., assessment and execution. Server(s) 1582 have substantially the same functionality as described in connection with server(s) 1514 and can include one or more processors configured to confer at least in part the functionality of the first network platform 1510. In one example, the network load management system 504 can be implemented or executed by server(s) 1582 and/or server(s) 1514. To that end, the one or more processor can execute code instructions stored in memory 1586, for example.

Memory 1586 can include information relevant to operation of the various components of the second network platform 1580. For example operational information that can be stored in memory 1586 can comprise, but is not limited to, subscriber information; contracted services; maintenance and service records; cell configuration (e.g., devices served through second RAN 1590; access control lists, or white lists); service policies and specifications; privacy policies; add-on features; and so forth.

Referring now to FIG. 16, there is illustrated a block diagram of a computer 1602 operable to execute the disclosed communication architecture. In order to provide additional context for various aspects of the disclosed subject matter, FIG. 16 and the following discussion are intended to provide a brief, general description of a suitable computing environment 1600 in which the various aspects of the specification can be implemented. While the specification has been described above in the general context of computer-executable instructions that can run on one or more computers, those skilled in the art will recognize that the specification also can be implemented in combination with other program modules and/or as a combination of hardware and software.

Generally, program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the inventive methods can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.

The illustrated aspects of the specification can also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.

Computing devices typically include a variety of media, which can include computer-readable storage media and/or communications media, which two terms are used herein differently from one another as follows. Computer-readable storage media can be any available storage media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable storage media can be implemented in connection with any method or technology for storage of information such as computer-readable instructions, program modules, structured data, or unstructured data. Computer-readable storage media can include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other tangible and/or non-transitory media which can be used to store desired information. Computer-readable storage media can be accessed by one or more local or remote computing devices, e.g., via access requests, queries or other data retrieval protocols, for a variety of operations with respect to the information stored by the medium.

Communications media typically embody computer-readable instructions, data structures, program modules or other structured or unstructured data in a data signal such as a modulated data signal, e.g., a carrier wave or other transport mechanism, and includes any information delivery or transport media. The term “modulated data signal” or signals refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. By way of example, and not limitation, communication media include wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.

With reference again to FIG. 16, the example environment 1600 for implementing various aspects of the specification includes a computer 1602, the computer 1602 including a processing unit 1604, a system memory 1606 and a system bus 1608. As an example, the component(s), server(s), equipment, system(s), and/or device(s) (e.g., user equipment 102, access point 104, target access point 110, network selection component 112, load determination component 202, SS criterion determination component 208, data transfer component 212, data reception component 302, access point 502, SS criterion determination component 504, random number generator 702, AI components 802 ₁-802 ₂, etc.) disclosed herein with respect to system 100-800 can each include at least a portion of the computer 1602. The system bus 1608 couples system components including, but not limited to, the system memory 1606 to the processing unit 1604. The processing unit 1604 can be any of various commercially available processors. Dual microprocessors and other multi-processor architectures can also be employed as the processing unit 1604.

The system bus 1608 can be any of several types of bus structure that can further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory 1606 includes read-only memory (ROM) 1610 and random access memory (RAM) 1612. A basic input/output system (BIOS) is stored in a non-volatile memory 1610 such as ROM, EPROM, EEPROM, which BIOS contains the basic routines that help to transfer information between elements within the computer 1602, such as during startup. The RAM 1612 can also include a high-speed RAM such as static RAM for caching data.

The computer 1602 further includes an internal hard disk drive (HDD) 1614, which internal hard disk drive 1614 can also be configured for external use in a suitable chassis (not shown), a magnetic floppy disk drive (FDD) 1616, (e.g., to read from or write to a removable diskette 1618) and an optical disk drive 1620, (e.g., reading a CD-ROM disk 1622 or, to read from or write to other high capacity optical media such as the DVD). The hard disk drive 1614, magnetic disk drive 1616 and optical disk drive 1620 can be connected to the system bus 1608 by a hard disk drive interface 1624, a magnetic disk drive interface 1626 and an optical drive interface 1628, respectively. The interface 1624 for external drive implementations includes at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies. Other external drive connection technologies are within contemplation of the subject disclosure.

The drives and their associated computer-readable storage media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. For the computer 1602, the drives and storage media accommodate the storage of any data in a suitable digital format. Although the description of computer-readable storage media above refers to a HDD, a removable magnetic diskette, and a removable optical media such as a CD or DVD, it should be appreciated by those skilled in the art that other types of storage media which are readable by a computer, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, can also be used in the example operating environment, and further, that any such storage media can contain computer-executable instructions for performing the methods of the specification.

A number of program modules can be stored in the drives and RAM 1612, including an operating system 1630, one or more application programs 1632, other program modules 1634 and program data 1636. All or portions of the operating system, applications, modules, and/or data can also be cached in the RAM 1612. It is appreciated that the specification can be implemented with various commercially available operating systems or combinations of operating systems.

A user can enter commands and information into the computer 1602 through one or more wired/wireless input devices, e.g., a keyboard 1638 and/or a pointing device, such as a mouse 1640 or a touchscreen or touchpad (not illustrated, but which may be integrated into UE 102 in some embodiments). These and other input devices are often connected to the processing unit 1604 through an input device interface 1642 that is coupled to the system bus 1608, but can be connected by other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, etc. A monitor 1644 or other type of display device is also connected to the system bus 1608 via an interface, such as a video adapter 1646.

The computer 1602 can operate in a networked environment using logical connections via wired and/or wireless communications to one or more remote computers, such as a remote computer(s) 1648. The remote computer(s) 1648 can be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 1602, although, for purposes of brevity, only a memory/storage device 1650 is illustrated. The logical connections depicted include wired/wireless connectivity to a local area network (LAN) 1652 and/or larger networks, e.g., a wide area network (WAN) 1654. Such LAN and WAN networking environments are commonplace in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which can connect to a global communications network, e.g., the Internet.

When used in a LAN networking environment, the computer 1602 is connected to the local network 1652 through a wired and/or wireless communication network interface or adapter 1656. The adapter 1656 can facilitate wired or wireless communication to the LAN 1652, which can also include a wireless access point disposed thereon for communicating with the wireless adapter 1656.

When used in a WAN networking environment, the computer 1602 can include a modem 1658, or is connected to a communications server on the WAN 1654, or has other means for establishing communications over the WAN 1654, such as by way of the Internet. The modem 1658, which can be internal or external and a wired or wireless device, is connected to the system bus 1608 via the serial port interface 1642. In a networked environment, program modules depicted relative to the computer 1602, or portions thereof, can be stored in the remote memory/storage device 1650. It will be appreciated that the network connections shown are example and other means of establishing a communications link between the computers can be used.

The computer 1602 is operable to communicate with any wireless devices or entities operatively disposed in wireless communication, e.g., desktop and/or portable computer, server, communications satellite, etc. This includes at least WiFi and Bluetooth™ wireless technologies. Thus, the communication can be a predefined structure as with a conventional network or simply an ad hoc communication between at least two devices.

WiFi, or Wireless Fidelity, allows connection to the Internet from a couch at home, a bed in a hotel room, or a conference room at work, without wires. WiFi is a wireless technology similar to that used in a cell phone that enables such devices, e.g., computers, to send and receive data indoors and out; anywhere within the range of a base station. WiFi networks use radio technologies called IEEE 802.11 (a, b, g, n, etc.) to provide secure, reliable, fast wireless connectivity. A WiFi network can be used to connect computers to each other, to the Internet, and to wired networks (which use IEEE 802.3 or Ethernet). WiFi networks operate in the unlicensed 5 GHz radio band at an 54 Mbps (802.11a) data rate, and/or a 2.4 GHz radio band at an 11 Mbps (802.11b), an 54 Mbps (802.11g) data rate, or up to an 600 Mbps (802.11n) data rate for example, or with products that contain both bands (dual band), so the networks can provide real-world performance similar to the basic 10 BaseT wired Ethernet networks used in many offices.

As employed in the subject specification, the term “processor” can refer to substantially any computing processing unit or device comprising, but not limited to comprising, single-core processors; single-processors with software multithread execution capability; multi-core processors; multi-core processors with software multithread execution capability; multi-core processors with hardware multithread technology; parallel platforms; and parallel platforms with distributed shared memory. Additionally, a processor can refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. Processors can exploit nano-scale architectures such as, but not limited to, molecular and quantum-dot based transistors, switches and gates, in order to optimize space usage or enhance performance of user equipment. A processor may also be implemented as a combination of computing processing units.

In the subject specification, terms such as “data store,” data storage,” “database,” “cache,” and substantially any other information storage component relevant to operation and functionality of a component, refer to “memory components,” or entities embodied in a “memory” or components comprising the memory. It will be appreciated that the memory components, or computer-readable storage media, described herein can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of illustration, and not limitation, nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). Additionally, the disclosed memory components of systems or methods herein are intended to comprise, without being limited to comprising, these and any other suitable types of memory.

What has been described above includes examples of the present specification. It is, of course, not possible to describe every conceivable combination of components or methods for purposes of describing the present specification, but one of ordinary skill in the art may recognize that many further combinations and permutations of the present specification are possible. Accordingly, the present specification is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim. 

What is claimed is:
 1. A system, comprising: a processor; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising: mapping network load data associated with an access point device to a first signal strength to determine a signal strength threshold, wherein the signal strength threshold corresponds to a classification value generated as a function of a mapping of an input attribute vector associated with the access point device; based on an analysis of the network load data associated with the access point device of a first radio access network, updating information, resulting in updated information, indicative of a device steering criterion to adjust a user equipment of a number of user equipment that are to be steered from the access point device to a network device of a second radio access network, wherein the information comprises signal strength threshold data, related to the signal strength threshold, to facilitate steering of the user equipment based on a distance between the user equipment and the access point device; and in response to determining a second signal strength associated with the user equipment satisfies the signal strength threshold, facilitating, based on the mapping of the network load data, a transmission of the updated information to the user equipment via the access point device.
 2. The system of claim 1, wherein the signal strength threshold data represents a threshold of a strength of a signal transmitted from the access point device to one of the user equipment.
 3. The system of claim 2, wherein the updating comprises decreasing the threshold, in response to determining that congestion within the first radio access network has decreased.
 4. The system of claim 2, wherein the updating comprises increasing the threshold, in response to determining that congestion within the first radio access network has increased.
 5. The system of claim 1, wherein the facilitating the transmission comprises broadcasting the information via a system information block message comprising message data that is employable by one of the user equipment to facilitate cell selection.
 6. The system of claim 1, wherein the network load data is first network load data and the updating comprises updating the information based on second network load data associated with access point devices that are deployed within a defined distance from the access point device.
 7. The system of claim 1, wherein the network load data is first network load data and the updating comprises updating the information based on second network load data associated with the network device.
 8. The system of claim 1, wherein the updating comprises updating the information based on distribution data indicative of a distribution of target radio access point devices having respective coverage areas that overlap with a coverage area of the access point device.
 9. The system of claim 1, wherein the updating comprises updating the information based on distribution data indicative of a distribution of the user equipment within a coverage area of the access point device.
 10. The system of claim 1, wherein the second radio access network comprises a wireless local area network.
 11. A method, comprising: storing, by a user equipment comprising a processor, signal strength data associated with a signal strength measurement performed by the user equipment during communications with an access point device; receiving, by the user equipment, network load data associated with the access point device; determining, by the user equipment, a corresponding signal strength in relation to the network load data, wherein the corresponding signal strength comprises a signal strength threshold selected to facilitate a network selection based on a proximity of the user equipment to the access point device and based on the signal strength, wherein the corresponding signal strength and the signal strength threshold are user equipment steering criteria, and wherein the signal strength threshold corresponds to a classification value generated as a function of a mapping of an input attribute vector associated with the access point device; and based on the determining the corresponding signal strength, facilitating, by the user equipment, the network selection to determine a radio access network that is to be employed by the user equipment for communication in response to the corresponding signal strength being determined to satisfy the signal strength threshold.
 12. The method of claim 11, wherein the access point device is a first radio access point device of a first radio access network, the facilitating comprises facilitating network selection to determine a second radio access network comprising a second radio access point device and the method further comprises: based on policy data, determining, by the user equipment, a first portion of data that is to be communicated via the first radio access point device and a second portion of the data that is to be communicated via the second radio access point device.
 13. The method of claim 11, further comprising: facilitating, by the user equipment, a transmission of query data to a network load management device, wherein the query data is indicative of a request for the user equipment steering criteria and the receiving is in response to the facilitating the transmission.
 14. The method of claim 11, wherein signal strength threshold data represents a threshold of a strength of a signal received by the user equipment from the access point device and the analyzing comprises comparing the signal strength threshold data with received signal strength data that represents the strength of the signal received by the user equipment from the access point device.
 15. The method of claim 14, wherein the access point device is a first access point device of a first radio access network, the radio access network is a second radio access network, and the facilitating comprises: in response to determining, based on the comparing, that the strength of the signal is less than the threshold, facilitating a connection of the user equipment to a second access point device of the second radio access network and a disconnection of the user equipment from the first access point device.
 16. The method of claim 11, wherein the facilitating comprises performing a first portion of the network selection, wherein a second portion of the network selection is performed via a device coupled to the user equipment.
 17. A non-transitory machine-readable storage medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising: determining device steering criterion data that is employable to steer communication data associated with a user equipment from a first access point device of a first radio access network to a second access point device of a second radio access network, wherein the user equipment is selected based on load data representing a network load associated with the first access point device; selecting a signal strength threshold to facilitate a steering of the communication data from the first access point device to the second access point device based on a proximity of the user equipment to the first access point device, and wherein the signal strength threshold corresponds to a classification value generated as a function of mapping an input attribute vector associated with the second access point device; and providing the device steering criterion data to the user equipment, via the first access point device, in response to a signal strength associated with the user equipment meeting the signal strength threshold.
 18. The non-transitory machine-readable storage medium of claim 17, wherein the operations further comprise: directing the device steering criterion data via a cell broadcast message.
 19. The non-transitory machine-readable storage medium of claim 17, wherein the device steering criterion data represents a threshold of a strength of a signal transmitted from the first access point device to one of the user equipment.
 20. The non-transitory machine-readable storage medium of claim 17, wherein a number of the user equipment is increased in response to determining, based on the load data, that the first radio access network is congested. 